	let csd = GetCurrentScriptDirectory;
//////////////////nCXRAO///////////////////////////////////////////////
	let Player1Hiscore=[];
	let Player1AllPhoto=[];
	let Player1HiPhoto=[];
	let Player2Hiscore=[];
	let Player2AllPhoto=[];
	let Player2HiPhoto=[];
	ascent(let k in 0..100)
	{
		Player1Hiscore = Player1Hiscore ~ [k];
		Player1AllPhoto = Player1AllPhoto ~ [100+k];
		Player1HiPhoto=Player1HiPhoto ~ [10000+k];
		Player2Hiscore = Player2Hiscore ~ [k+0.1];
		Player2AllPhoto = Player2AllPhoto ~ [100+k+0.1];
		Player2HiPhoto=Player2HiPhoto ~ [10000+k+0.1];
	}

	let SpellCardScScript=[];
	loop(101)
	{
		SpellCardScScript=SpellCardScScript~[csd~"SpellCard\None.txt"];
	}

		let ShootFlag=[];
		let FlagLevelNum=[];
		loop(20)
		{
			ShootFlag=ShootFlag~[false];
			FlagLevelNum=FlagLevelNum~[3];
		}
/////////////////////////////////////////////////////////////////////////////////

///////////vC񐔕///////////////////////////////////////////////////////////
let NsUpTime = "UP_TIME";
let NsPlayTime = "PLAY_TIME";
//////////////////////////////////////////////////////////////////////////////////////////


// w t[҂
function wait(w) 
{
    loop(w) { yield; }
}

function WaitForZeroEnemy()//G0ɂȂ܂őҋ@֐
{
	while(GetEnemyNum() != 0){yield;}
}

///////////////////////////////////////////////////////////////////////////////////////////
	let imgLetter =csd ~ "img/border.png"; 
	let DefinedPlayer1="AYA.txt";
	let DefinedPlayer2="HATATE.txt";
/*	let DefinedPlayer3="MarisaA.txt";
	let DefinedPlayer4="MarisaB.txt";
	let DefinedPlayer5="USER_PLAYER";
*/
/*	let DrawDefinedPlayer1="얲@A";
	let DrawDefinedPlayer2="얲@B";
	let DrawDefinedPlayer3="J@A";
	let DrawDefinedPlayer4="J@B";
*/
	let SelectedCharacter=GetPlayerScriptName;

////////////////////////////////////////////////////////////////////////////////////////////

//XRÃZ[ut@C

let savePathstage = GetCurrentScriptDirectory~"SaveData.dat";//Xe[Wœǂݍ
let savePath = GetCurrentScriptDirectory~"SaveData.dat";//Xyœǂݍ

/////////////////////////////////////////////////////////////////////////////////////////////
//O
let NsScore = "SAVE_SCORE";	//XRA
let NsHi = "HI_SCORE";	//nCXRA(NsScore)

//////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////

let NsGetSpell = "GET_SPELL";	//XyJ擾(Common)
let NsIsReplay = "IS_REPLAY";	//vCǂZ[u֌W(Common)
let NsIsReplayJudgment = "IS_REPLAY_JUDGMENT";//vCǂgC֌W(Common)	

let NsDefeatFrame = "DEFEAT_FRAME";	//jt[(Common)
let NsDefeatPosX = "DEFEAT_POSX";	//jʒu(Common)
let NsDefeatPosY = "DEFEAT_POSY";	//jʒu(Common)
let NsBossFrame = "BOSS_FRAME";	//{XUJñt[(Common)

///////////////////////////////////////////////////////////////////////////////////////////////

//{XĐɎgpRGÃ[h
function LoadBossAreas()
{
	CreateCommonDataArea(NsScore);
	LoadCommonDataEx(NsScore,savePath);
	SetCommonData(NsGetSpell,0);
	let isRep = IsReplay();
	SetCommonData(NsIsReplay,isRep);
}



//{XĐɎgpRGÃZ[uA폜
function DeleteBossAreas()
{
	if(GetCommonDataDefault(NsIsReplay,true) == false)
	{
		SaveCommonDataEx(NsScore,savePath);
	}
	ClearCommonDataEx(NsScore);
	DeleteCommonData(NsGetSpell);
	DeleteCommonData(NsDefeatFrame);
	DeleteCommonData(NsDefeatPosX);
	DeleteCommonData(NsDefeatPosY);
	DeleteCommonData(NsBossFrame);
	DeleteCommonData(NsIsReplay);
}


	function NumToString(let num)
	{
		if(num==0)
		{
			num=0.1;
		}
		let leng = trunc(log10(num))+1;//̌߂
		let string = ToString(num);//𕶎ɕς
		let str = " ";
			times(12-leng)
			{
				string = str ~ string;//p̃Xy[X擪ɂB
			} 
		return string[0..12];//XCVOĕԂ
	}

////////////////////////////////////////////////////////////////////////////////////////////
task DisPlayNumber(let x,let y,let number,let number2)
{
let num=[];
ascent(let k in 0..11)
{
num = num ~ [k];
}
	num[0]=trunc(number);
	num[1]=trunc(number%10);
	num[2]=trunc(number%100/10);
	num[3]=trunc(number%1000/100);
	num[4]=trunc(number%10000/1000);
	num[5]=trunc(number%100000/10000);
	num[6]=trunc(number%1000000/100000);
	num[7]=trunc(number%10000000/1000000);
	num[8]=trunc(number%100000000/10000000);
	num[9]=trunc(number%1000000000/100000000);
	num[10]=trunc(number%10000000000/1000000000);


	ascent(let i in 1..10)
	{
		if(num[0]>=10^(i-1))
		{
			DisplayNumLetter(x-(i-1)*12,y,num[i]);
		}
	}
	if(num[0]==0)
	{
		DisplayNumLetter(x,y,0);
	}
}

task DisPlayScoreNumber(let x,let y,let number,let number2)
{
if(number2!=0)
{
	number+=1000000;
}
let num=[];
ascent(let k in 0..11)
{
num = num ~ [k];
}
	num[0]=trunc(number);
	num[1]=trunc(number%10);
	num[2]=trunc(number%100/10);
	num[3]=trunc(number%1000/100);
	num[4]=trunc(number%10000/1000);
	num[5]=trunc(number%100000/10000);
	num[6]=trunc(number%1000000/100000);
	num[7]=trunc(number%10000000/1000000);
	num[8]=trunc(number%100000000/10000000);
	num[9]=trunc(number%1000000000/100000000);
	num[10]=trunc(number%10000000000/1000000000);


	ascent(let i in 1..10)
	{
		if(num[0]>=10^(i-1))
		{
			DisplayNumLetter(x-(i-1)*12,y,num[i]);
		}
	}
	if(num[0]==0)
	{
		DisplayNumLetter(x,y,0);
	}
}

task DisPlayScoreNumber2(let x,let y,let number,let number2)
{
let num=[];
ascent(let k in 0..11)
{
num = num ~ [k];
}
	num[0]=trunc(number);
	num[1]=trunc(number%10);
	num[2]=trunc(number%100/10);
	num[3]=trunc(number%1000/100);
	num[4]=trunc(number%10000/1000);
	num[5]=trunc(number%100000/10000);
	num[6]=trunc(number%1000000/100000);
	num[7]=trunc(number%10000000/1000000);
	num[8]=trunc(number%100000000/10000000);
	num[9]=trunc(number%1000000000/100000000);
	num[10]=trunc(number%10000000000/1000000000);


	ascent(let i in 1..10)
	{
		if(num[0]>=10^(i-1))
		{
			DisplayNumLetter(x-(i-1)*12,y,num[i]);
		}
	}
	if(num[0]==0)
	{
		//DisplayNumLetter(x,y,0);
	}
}

task DisplayNumLetter(let x,let y,let num)
{
		let scx=0.8;
		let scy=1;
		let obj0 = Obj_Create(OBJ_EFFECT);
		ObjEffect_SetTexture(obj0,imgLetter);
		ObjEffect_SetPrimitiveType(obj0, PRIMITIVE_TRIANGLEFAN);
		ObjEffect_SetRenderState(obj0, ADD); 
		ObjEffect_CreateVertex(obj0, 4);
		ObjEffect_SetVertexXY(obj0, 0, -7, -8);
		ObjEffect_SetVertexXY(obj0, 1, 7,  -8);
		ObjEffect_SetVertexXY(obj0, 2, 7, 8);
		ObjEffect_SetVertexXY(obj0, 3,  -7,  8);
		
		ObjEffect_SetVertexUV(obj0, 0,  2+14*num,  114);
		ObjEffect_SetVertexUV(obj0, 1,  14+14*num, 114);
		ObjEffect_SetVertexUV(obj0, 2, 14+14*num,  131);
		ObjEffect_SetVertexUV(obj0, 3, 2+14*num, 131);
		
		ObjEffect_SetScale(obj0, scx,scy);
		Obj_SetPosition(obj0,x,y);
		ObjEffect_SetLayer(obj0,8);
			if(GetCommonDataDefault("Shooting",false)==true)
			{
				ascent(let i in 0..4)
				{
					ObjEffect_SetVertexColor(obj0,i,0,255,255,255);
				}
			}
			if(GetPlayerY<=GetCenterY/3)
			{
				ascent(let i in 0..4)
				{
				ObjEffect_SetVertexColor(obj0,i,50,255,255,255);
				}
			}
		wait(1);
		Obj_Delete(obj0);
}

sub ShootFlagTask//xւ̃m}B𔻒f^XN
{
let Flag=[];
loop(20)
{
	Flag=Flag~[0];
}
ascent(let j in 2..10)
{
	ascent(let i in 1..10)
	{
	if(SelectedCharacter==DefinedPlayer1)
	{
	if(GetCommonDataDefaultEx(NsScore,Player1Hiscore[i+(j-1)*10],0)!=0)
	{
		Flag[j]=Flag[j]+1;
	}
	}
	if(SelectedCharacter==DefinedPlayer2)
	{
	if(GetCommonDataDefaultEx(NsScore,Player2Hiscore[i+(j-1)*10],0)!=0)
	{
		Flag[j]=Flag[j]+1;
	}
	}
	}
}

ascent(let i in 1..20)
{
	if(Flag[i]>=FlagLevelNum[i])
	{
		ShootFlag[i]=true;
	}
}
}